home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 108 (1989-08-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 108 (1989-08-15)(Ossowski, Stefan)(DE)(PD).adf / Chess / Chess.Doc < prev    next >
Text File  |  1989-05-24  |  11KB  |  269 lines

  1.  
  2.  
  3.     ********************************************************************
  4.     **                                                                **
  5.     **        Chess 2.0 - Copyright (c) 1989 A.H.W. Kaufmann          **
  6.     **                                                                **
  7.     ********************************************************************
  8.  
  9.      
  10.      REQUIRED FILES/DIRECTORY
  11.      ========================
  12.  
  13.                  Chess
  14.                  Chess.Doc
  15.                  Chess.Openings
  16.                  Chess.Pieces
  17.                  Chess.Colours
  18.                  Chess.info
  19.                  Games/????
  20.  
  21.  
  22.      SIMPLE INSTRUCTIONS
  23.      ===================
  24.  
  25.         Format a floppy named "Chess" and copy these files to that
  26.         floppy making sure that the directory Games is created OR
  27.         copy the files to any directory and make that your current
  28.         directory by using the CD command.
  29.  
  30.         Now you can issue the command "run Chess" from the CLI or
  31.         simply click on the Chess Icon if you are in the WorkBench.
  32.  
  33.         To move the pieces - point and push the left mouse button. 
  34.         ( To castle, move the king the two spaces.)  To find out more
  35.         use the right mouse button to bring up the menus or finish
  36.         reading this file.
  37.  
  38.  
  39.      LISCENCING AND DISTRIBUTION
  40.      ===========================
  41.  
  42.         This program may be distributed free of charge, provided that
  43.         no extra restrictions are placed on it.  Nominal charges for
  44.         copying or on-line services are permitted provided that they
  45.         are only for those services.  No payment is required for using
  46.         this program but you should feel yourself obligated to send
  47.         in bug reports.
  48.  
  49.         OPTIONALLY, if you enjoy the program I would not mind getting
  50.         getting your comments and suggestions for future enhancements.
  51.  
  52.                 Alfred H.W. Kaufmann
  53.                 124 Silversprings Rise N.W.,
  54.                 Calgary, Alberta
  55.                 Canada T3B 3Z6
  56.  
  57.  
  58.      CREDITS AND THANKS
  59.      ==================
  60.  
  61.         John Stanback:          For the Chess playing program.
  62.  
  63.         Bob Leivian:            For originally porting it to the Amiga
  64.  
  65.         Peter da Silva )
  66.         Matt Dillon     )
  67.         Jeff Lydiat      )      For the file requester
  68.         Jay Miner       )
  69.         R.J. Mical     ) 
  70.  
  71.         Bruce Dawson   )
  72.         John Russell    )
  73.         Mike Ballantyne  )      For the colour requester
  74.         R. French       )
  75.         R.J. Mical     )
  76.  
  77.         Fred Fish:              For distributing great programs and
  78.                                 utilities.
  79.  
  80.         Lattice Inc:            For giving it the good old college try
  81.                                 with their C5.02 and CodePRobe
  82.  
  83.         Commodore-Amiga:        For providing a great machine
  84.  
  85.  
  86.      Special Raspberries
  87.      ===================
  88.  
  89.         Lattice Inc.:           For their relentless research in genetic
  90.                                 engineering, producing newer and better
  91.                                 bugs.
  92.  
  93.         Commodore-Amiga:        For providing a buggy SETPATCH
  94.  
  95.  
  96.  
  97.      **********************************
  98.      *                                *
  99.      *   The Nitty/Gritty Details     *
  100.      *                                *
  101.      **********************************
  102.  
  103.  
  104.      The Files
  105.      =========
  106.  
  107.         Chess                   The game.
  108.  
  109.         Chess.info              The chess game icon which may need work,
  110.                                 I'm not really an artist.
  111.  
  112.         Chess.Doc               This file that you are now reading.
  113.  
  114.         Chess.Pieces            This file contains the images for the
  115.                                 chess pieces that are read in each
  116.                 time.  The file also contains sufficient information
  117.                 to enable you to change them.  If you don't like them
  118.                 you can get out some graph paper and design your own.
  119.  
  120.         Chess.Opening           These are some standard book openings
  121.                                 that are read in at startup.  You can
  122.                 change them to whatever you want.  Presently you are
  123.                 limited to 80 different book openings and you must
  124.                 ensure that the moves start in column 1 and 7.
  125.  
  126.         Chess.Colours           This file determines the colours.  You
  127.                                 can change this file from within the
  128.                 chess playing program to suit your own tastes.
  129.  
  130.         Games                   This is a DIRECTORY that is automatically
  131.                                 searched for games that you want to save
  132.                 or load.  Presently there should be a few files in it
  133.                 that you may load from the chess program.  The games 
  134.                 starting with 'B' means that black should move first and
  135.                 the games starting with 'W' means white should move first.
  136.                 For best results set the timer to about 1800 seconds.
  137.  
  138.  
  139.      The Menus
  140.      =========
  141.  
  142.         Load Game               This will bring up a requester allowing
  143.         ---------       you to chose the game you want loaded.  When you
  144.                         have specified the game, place the pointer or the
  145.                         accept gadget and press the left mouse button.
  146.  
  147.         Save Game               This will bring up the same requester
  148.         ---------       but will allow you to specify a file to save the
  149.                         current game.
  150.  
  151.         Set Board               This allows you to set up a chess board
  152.         ---------       however you want.  The requester includes a help
  153.                         gadget which will explain how you set up the board.
  154.                         When done, place the pointer over the OK gadget
  155.                         and press the left mouse button.
  156.  
  157.         List Moves              This will print the moves to the window
  158.         ----------      or bring up the standard requestor to allow you
  159.                         to specify a file.
  160.  
  161.         Colours                 This brings up a colour requester which
  162.         -------         will allow you to setup the colours to your own
  163.                         preferences.  To make them permanent, place the
  164.                         pointer over the save gadget and press the left
  165.                         mouse button.
  166.  
  167.         Read Docs               Will allow you to read this file or it
  168.         ---------       will produce a background task to send this file
  169.                         to the printer.
  170.  
  171.         Quit                    This or the close gadget to end a game.
  172.         ----            If you are in the middle of a game you may
  173.                         consider saving it first!
  174.  
  175.         Switch Sides            If you were white you are now black and
  176.         ------------    if you were black you are now white.
  177.  
  178.         Reverse Board           Reverses the board for you.
  179.         -------------
  180.  
  181.         Set Time Limit          Brings up a requestor allowing you to
  182.         --------------  set the response time.  Use the backspace key to
  183.                         change it to whatever you want.
  184.  
  185.         Skip Move               If you have switched sides you may want
  186.         ---------       to do this.
  187.  
  188.         Undo Move               Undoes the last move if possible, if not
  189.         ---------       use the set board menu.
  190.  
  191.         Hint                    Obvious
  192.         ----
  193.  
  194.         Credits                 Just for showing.
  195.         -------
  196.  
  197.  
  198.      The Game           from a Usenet message written by John Stanback
  199.      ========           of HP, Colorado Integrated Circuits Div.,
  200.                         Loveland, CO.
  201.  
  202.         The program plays a fairly respectable game of chess, although it 
  203.   is not competetive with a state-of-the art commercial program. The search
  204.   rate is typically 100-300 nodes/sec. on an HP Vectra (8 Mhz. 286) and
  205.   about 300-900 nodes/sec. on an HP 350 (25 Mhz. 68020). I am interested to
  206.   find out what is achieved on other machines. I would also be interested
  207.   in any comments on playing strength, weaknesses or bugs in the program,
  208.   and suggested improvements in the algorithm. 
  209.   
  210.   Here are a few comments on the program:
  211.   
  212.   1. Opening Library
  213.        I'm a terrible chess player and don't know anything about 
  214.        openings. I copied 70-80 random lines of play from MCO into 
  215.        the file chess.opn. I think there are a few mistakes in the 
  216.        translation. If anyone generates a better library please let 
  217.        me know. 
  218.        
  219.   2. Positional Heuristics
  220.        I think that improvement in this area would help the program 
  221.        quite a bit. In most situations the computer cannot do
  222.        anything forceful and the choice of a move is based on 
  223.        positional aspects. I haven't spent a lot of time on the 
  224.        heuristics and many times the program has no idea of what is 
  225.        happening and how to proceed. Perhaps optimizing the values of 
  226.        the existing heuristics would help, but to get a major 
  227.        improvement I think more chess knowledge will be necessary. 
  228.        
  229.   3. Search Algorithm
  230.        This program uses a full-width alpha-beta searching technique 
  231.        with depth extensions on checks, check evasions, pawn promotion
  232.        threats and threats to multiple pieces. Capture sequences are
  233.        handled by a separate search routine. I imagine that much more
  234.        efficient search routines exist, and would be interested to hear
  235.        of any. Refinements of the search extension heuristics (similar
  236.        to the extensions for pawn promotion threats) could have a major 
  237.        effect on the programs ability. 
  238.        
  239.   4. Move Generation
  240.        There are probably better ways to do this, but they would 
  241.        likely change the data structure drastically and necessitate 
  242.        a complete re-write. Maybe some good hacks would speed things 
  243.        up, the ataks function would be the best place to start.
  244.         
  245.  
  246.      Future Enhancements
  247.      ===================
  248.  
  249.         If there is enough interest in this chess player I would like
  250.   to speed up the chess player.  This could be produced fairly easily
  251.   by reducing the large number of automatic variables and arrays, by
  252.   using registered parameters for subroutine calls and entry points and
  253.   by removing the stack checking code.
  254.  
  255.         Also I would like to revise the setboard function to make it
  256.   point and click instead of having to key in "e2wp", etc.
  257.  
  258.  
  259.      Bugs
  260.      ====
  261.  
  262.         None known of "at the present time".   I am using a new compiler,
  263.   Lattice C 5.02 and have already hacked around some problems, there may
  264.   be more!
  265.  
  266.   Lets have your suggestions !
  267.   ****************************
  268.  
  269.